package cn.tedu.micro.demo.client;

import com.rabbitmq.client.*;
import lombok.extern.slf4j.Slf4j;

/**
 * 通过这个类构造一遍长连接 短连接
 * 并且构造的短连接 通过静态方法 调用
 */
@Slf4j
public class RabbitChannelManager {

    public static Channel newChannel(){
        //建立长连接,获取短连接返回
        try{
            //1.长连接构造过程复杂,所以用到了工厂
            ConnectionFactory factory=new ConnectionFactory();
            //2.构造连接的参数 host port username password
            factory.setHost("192.168.8.100");
            factory.setPort(5672);
            factory.setUsername("admin");
            factory.setPassword("123456");
            //3.获取一个可用的短连接
            return factory.newConnection().createChannel();
        }catch (Exception e){
            log.error("创建连接失败",e);
            throw new RuntimeException("连接失败");
        }
    }
}
